function Wind(options) {
	this.id = (options && options.id);
	this.horizontalDirection = (options && options.horizontalDirection) || 1;
	this.speed = (options && options.speed) || 1;
	this.crossDirectionRatePercent = (options && options.crossDirectionRatePercent) || 0;
	
	this.weightConstant = new WeightConstant();
	
	this.getId = function() {
		return this.id;
	};
	
	this.setHorizontalDirection = function (horizontalDirection) {
		this.horizontalDirection = horizontalDirection;
	};
	
	this.setSpeed = function (speed) {
		this.speed = speed;
	};
	
	this.push = function (graphicObject) {
		var currentX = graphicObject.getX();
		var delta = this._getMovementDistance(graphicObject) * this.horizontalDirection;
	//	console.log(this.horizontalDirection);
	//	var delta = this._getMovementDistance(graphicObject) * this._getRandomizedDirection();
		var movedX = currentX + delta;

		graphicObject.setX(movedX);
	};
	
	this._getMovementDistance = function (graphicObject) {
		var weight = graphicObject.getWeight(this.weightConstant);
		
		var result = Math.round(this.speed / weight);
		
		return result;
	};
	
	this._getRandomizedDirection = function() {
		var rate = Math.floor(Math.random() * 100);
		
		if (rate < this.crossDirectionRatePercent) {
			return this.horizontalDirection * -1;
		} else {
			return this.horizontalDirection;
		}
	}
}